// Decompiled by DJ v3.7.7.81 Copyright 2004 Atanas Neshkov  Date: 2007-9-15 18:54:18


// Source File Name:   qo.java

package com.zelix;

import java.util.*;


//            yc, ht, it, fh, 
//            l5, tb, re, lt, 
//            ju, mt, kt, lu, 
//            iu, fv, px, fy, 
//            qy, sy, e6, mo, 
//            dd

final class qo
{

    fy a;
    fy j;
    HashMap b;
    mo c;
    ht d;
    mt e[];
    it f;
    dd g;
    re h;
    Hashtable i;
    private static String z[];

    qo(dd dd, re re1, it it1, mt amt[], ht ht1, Hashtable hashtable, fy fy1, 
            fy fy2)
    {
        d = ht1;
        e = amt;
        f = it1;
        g = dd;
        h = re1;
        i = hashtable;
        b = new HashMap(px.a(amt.length * 5));
        a = fy1;
        j = fy2;
    }

    private HashMap a(re re1)
    {
        Enumeration enumeration;
        HashMap hashmap;
        boolean flag;
        flag = tb.b;
        if(re1 == null)
            return null;
        enumeration = re1.i();
        if(enumeration == null)
            return null;
        hashmap = new HashMap();
        if(!flag) goto _L2; else goto _L1
_L1:
        String s;
        Enumeration enumeration1;
        s = (String)enumeration.nextElement();
        enumeration1 = re1.j(s);
        if(!flag) goto _L4; else goto _L3
_L3:
        l5 l5_1 = (l5)enumeration1.nextElement();
        String s1 = l5_1.b();
        lu lu1 = f.a(s, l5_1.b(), l5_1.a());
        String s2 = re1.a(s, l5_1);
        if(s2 == null)
            s2 = s1;
        hashmap.put(lu1, s2);
_L4:
        if(enumeration1.hasMoreElements()) goto _L3; else goto _L2
_L2:
        if(!enumeration.hasMoreElements())
            return hashmap;
        if(true) goto _L1; else goto _L5
_L5:
    }

    private void a(HashMap hashmap, dd dd)
    {
        Enumeration enumeration;
        boolean flag;
        flag = tb.b;
        enumeration = dd.f();
        if(!flag) goto _L2; else goto _L1
_L1:
        lu lu1 = (lu)enumeration.nextElement();
        hashmap.put(lu1, lu1.u());
_L2:
        if(!enumeration.hasMoreElements())
            return;
        if(true) goto _L1; else goto _L3
_L3:
    }

    void a(mo mo)
        throws tb
    {
        HashMap hashmap;
        fy fy1;
        ArrayList arraylist;
        Vector vector;
        e6 e6_1;
        int k;
        boolean flag3;
        flag3 = tb.b;
        c = mo;
        if(!a())
            break MISSING_BLOCK_LABEL_1042;
        hashmap = a(h);
        fy1 = a(g, hashmap);
        a(b, g);
        arraylist = d.h();
        vector = d.i();
        e6_1 = new e6(Math.max(e.length, 5));
        k = 0;
        if(!flag3) goto _L2; else goto _L1
_L1:
        e6_1.a(arraylist.get(k));
        k++;
_L2:
        if(k < arraylist.size()) goto _L1; else goto _L3
_L3:
        int l = 0;
        if(!flag3) goto _L5; else goto _L4
_L4:
        Object obj;
        Object obj1;
        obj = (fh)vector.get(l);
        if(((fh) (obj)).v())
            continue; /* Loop/switch isn't completed */
        obj1 = ((fh) (obj)).k();
        if(obj1 == null) goto _L7; else goto _L6
_L6:
        if(!flag3) goto _L9; else goto _L8
_L8:
        fh fh1 = (fh)((Enumeration) (obj1)).nextElement();
        if(fh1.w() && !flag3)
            continue; /* Loop/switch isn't completed */
_L9:
        if(((Enumeration) (obj1)).hasMoreElements()) goto _L8; else goto _L7
_L7:
        e6_1.a(obj);
        l++;
_L5:
        if(l < vector.size()) goto _L4; else goto _L10
_L10:
        sy sy1;
        boolean flag;
        boolean flag1;
        obj = new fy();
        obj1 = new fy(e.length, 20);
        sy1 = new sy(e.length);
        flag = true;
        flag1 = true;
        if(!flag3) goto _L12; else goto _L11
_L11:
        int i1;
        int j1;
        flag = false;
        i1 = e6_1.d();
        j1 = 0;
        if(!flag3) goto _L14; else goto _L13
_L13:
        fh fh2;
        mt mt1;
        fh2 = (fh)e6_1.c();
        mt1 = fh2.c();
        if(!flag1 || !mt1.E() || mt1.S() <= 0) goto _L16; else goto _L15
_L15:
        Object obj2 = mt1.X();
        if(obj2 == null) goto _L16; else goto _L17
_L17:
        if(!flag3) goto _L19; else goto _L18
_L18:
        lu lu1 = (lu)((Enumeration) (obj2)).nextElement();
        if(b.containsKey(lu1))
            continue; /* Loop/switch isn't completed */
        mt mt2 = (mt)lu1.h();
        if(mt2.E() && f.b(mt2.j(), mt1.j()))
            continue; /* Loop/switch isn't completed */
        e6_1.a(fh2);
        if(!flag3)
            continue; /* Loop/switch isn't completed */
_L19:
        if(((Enumeration) (obj2)).hasMoreElements()) goto _L18; else goto _L16
_L16:
        boolean flag2;
        Object obj3;
        obj2 = new ArrayList();
        flag2 = true;
        fh fh3 = fh2.q();
        if(fh3.w() && !((fy) (obj1)).a(fh3))
            break MISSING_BLOCK_LABEL_553;
        if(fh3.w())
            ((ArrayList) (obj2)).add(fh3);
        obj3 = fh2.k();
        if(obj3 == null)
            break MISSING_BLOCK_LABEL_556;
        if(!flag3) goto _L21; else goto _L20
_L20:
        fh fh4 = (fh)((Enumeration) (obj3)).nextElement();
        if(fh4.w())
        {
            ((ArrayList) (obj2)).add(fh4);
            if(!((fy) (obj1)).a(fh4))
                flag2 = false;
        }
_L21:
        if(((Enumeration) (obj3)).hasMoreElements()) goto _L20; else goto _L22
_L22:
        if(!flag3)
            break MISSING_BLOCK_LABEL_556;
        flag2 = false;
        qy qy1;
        Iterator iterator;
        if(!flag2)
            break MISSING_BLOCK_LABEL_855;
        flag = true;
        obj3 = new Hashtable();
        qy1 = new qy();
        iterator = ((AbstractList) (obj2)).iterator();
        if(!flag3) goto _L24; else goto _L23
_L23:
        fh fh5 = (fh)iterator.next();
        Hashtable hashtable = ((fy) (obj1)).b(fh5);
        if(hashtable != null)
            ((Hashtable) (obj3)).putAll(hashtable);
        qy qy2 = sy1.b(fh5);
        if(qy2 != null)
            qy1.a(qy2);
_L24:
        if(iterator.hasNext()) goto _L23; else goto _L25
_L25:
        Enumeration enumeration = fh2.p();
        if(enumeration == null) goto _L27; else goto _L26
_L26:
        if(!flag3) goto _L29; else goto _L28
_L28:
        fh fh6 = (fh)enumeration.nextElement();
        e6_1.a(fh6);
_L29:
        if(enumeration.hasMoreElements()) goto _L28; else goto _L27
_L27:
        Enumeration enumeration1 = fh2.l();
        if(enumeration1 == null) goto _L31; else goto _L30
_L30:
        if(!flag3) goto _L33; else goto _L32
_L32:
        fh fh7 = (fh)enumeration1.nextElement();
        e6_1.a(fh7);
_L33:
        if(enumeration1.hasMoreElements()) goto _L32; else goto _L31
_L31:
        fv fv1 = new fv(false);
        mt1.a(mo, a, j, ((Hashtable) (obj3)), (qy)qy1.clone(), qy1, g, h, i, hashmap, b, fy1, ((fy) (obj)), fv1, f);
        if(!flag1 && fv1.a())
            flag1 = true;
        ((fy) (obj1)).a(fh2, ((Hashtable) (obj3)));
        sy1.a(fh2, qy1);
        if(!flag3)
            continue; /* Loop/switch isn't completed */
        e6_1.a(fh2);
        j1++;
_L14:
        if(j1 < i1) goto _L13; else goto _L34
_L34:
        if(!flag && !e6_1.b() && flag1)
        {
            flag1 = false;
            flag = true;
        }
_L12:
        if(flag && !e6_1.b()) goto _L11; else goto _L35
_L35:
        StringBuffer stringbuffer;
        if(e6_1.b())
            break MISSING_BLOCK_LABEL_1004;
        stringbuffer = new StringBuffer();
        if(!flag3) goto _L37; else goto _L36
_L36:
        stringbuffer.append(((fh)e6_1.c()).d());
        if(!e6_1.b())
            stringbuffer.append(z[0]);
_L37:
        if(!e6_1.b()) goto _L36; else goto _L38
_L38:
        throw new tb(z[1] + stringbuffer);
        stringbuffer = 0;
        if(!flag3) goto _L40; else goto _L39
_L39:
        e[stringbuffer].lb();
        stringbuffer++;
_L40:
        if(stringbuffer < e.length) goto _L39; else goto _L41
_L41:
        f.h();
    }

    private fy a(dd dd, HashMap hashmap)
    {
        fy fy1;
        boolean flag;
        flag = tb.b;
        fy1 = new fy(e.length, 5);
        if(dd == null) goto _L2; else goto _L1
_L1:
        Enumeration enumeration = dd.f();
        if(!flag) goto _L4; else goto _L3
_L3:
        lu lu1 = (lu)enumeration.nextElement();
        l5 l5_1 = lu1.a();
        fh fh1 = fh.b(lu1.j());
        b(fh1, l5_1, fy1);
_L4:
        if(enumeration.hasMoreElements()) goto _L3; else goto _L2
_L2:
        if(hashmap == null) goto _L6; else goto _L5
_L5:
        int k = 0;
        if(!flag) goto _L8; else goto _L7
_L7:
        mt mt1;
        ju aju[];
        int l;
        mt1 = e[k];
        aju = mt1.T();
        l = 0;
        if(!flag) goto _L10; else goto _L9
_L9:
        l5 l5_2;
        Enumeration enumeration3;
        lu lu2 = (lu)aju[l];
        String s = (String)hashmap.get(lu2);
        if(s == null)
            continue; /* Loop/switch isn't completed */
        l5_2 = new l5(s, lu2.q());
        fh fh2 = fh.b(mt1.j());
        fh fh3 = fh2.q();
        if(fh3 != null && fh3.w())
            b(fh3, l5_2, fy1);
        enumeration3 = fh2.k();
        if(enumeration3 == null)
            continue; /* Loop/switch isn't completed */
        if(!flag) goto _L12; else goto _L11
_L11:
        fh fh4 = (fh)enumeration3.nextElement();
        if(fh4.w())
            b(fh4, l5_2, fy1);
_L12:
        if(enumeration3.hasMoreElements()) goto _L11; else goto _L13
_L13:
        l++;
_L10:
        if(l < aju.length) goto _L9; else goto _L14
_L14:
        Enumeration enumeration1;
        enumeration1 = mt1.X();
        if(enumeration1 == null)
            continue;
        if(!flag) goto _L16; else goto _L15
_L15:
        l5 l5_3;
        Enumeration enumeration2;
        lu lu3 = (lu)enumeration1.nextElement();
        String s1 = (String)hashmap.get(lu3);
        if(s1 == null)
            continue; /* Loop/switch isn't completed */
        l5_3 = new l5(s1, lu3.q());
        enumeration2 = mt1.b(lu3);
        if(!flag) goto _L18; else goto _L17
_L17:
        mt mt2 = (mt)enumeration2.nextElement();
        fh fh5 = fh.b(mt2.j());
        a(fh5, l5_3, fy1);
_L18:
        if(enumeration2.hasMoreElements()) goto _L17; else goto _L16
_L16:
        if(enumeration1.hasMoreElements()) goto _L15; else goto _L19
_L19:
        k++;
_L8:
        if(k < e.length) goto _L7; else goto _L6
_L6:
        return fy1;
    }

    private void a(fh fh1, l5 l5_1, fy fy1)
    {
        Object obj = fy1.b(fh1.c(), l5_1, l5_1);
        if(obj == null)
            b(fh1, l5_1, fy1);
    }

    private void b(fh fh1, l5 l5_1, fy fy1)
    {
        Enumeration enumeration;
        boolean flag;
        flag = tb.b;
        enumeration = fh1.k();
        if(enumeration == null) goto _L2; else goto _L1
_L1:
        if(!flag) goto _L4; else goto _L3
_L3:
        fh fh2 = (fh)enumeration.nextElement();
        if(fh2.w())
            c(fh2, l5_1, fy1);
_L4:
        if(enumeration.hasMoreElements()) goto _L3; else goto _L2
_L2:
        fh fh3 = fh1.q();
        if(fh3.w())
            c(fh3, l5_1, fy1);
        return;
    }

    private void c(fh fh1, l5 l5_1, fy fy1)
    {
        Object obj = fy1.b(fh1.c(), l5_1, l5_1);
        if(obj == null)
            b(fh1, l5_1, fy1);
    }

    private boolean a()
    {
        boolean flag;
        Enumeration enumeration;
        boolean flag1;
        flag1 = tb.b;
        flag = true;
        if(h == null)
            return flag;
        enumeration = h.i();
        if(enumeration == null)
            return flag;
          goto _L1
_L8:
        String s;
        mt mt1;
        Enumeration enumeration1;
        s = (String)enumeration.nextElement();
        mt1 = fh.a(s);
        enumeration1 = h.j(s);
        if(!flag1) goto _L3; else goto _L2
_L2:
        l5 l5_1 = (l5)enumeration1.nextElement();
        if(!f.a(l5_1, mt1))
            h.c(s, l5_1);
_L3:
        if(enumeration1.hasMoreElements()) goto _L2; else goto _L4
_L4:
        Enumeration enumeration2;
        enumeration2 = h.g(s);
        if(enumeration2 == null)
            continue; /* Loop/switch isn't completed */
        if(!flag1) goto _L6; else goto _L5
_L5:
        l5 l5_2 = (l5)enumeration2.nextElement();
        if(f.a(l5_2, mt1))
        {
            lu lu1 = mt1.a(l5_2);
            if(g.a(lu1))
            {
                String s1 = h.i(s);
                s1 = lt.a(s1);
                h.w("\"" + l5_2.a(i) + z[3] + s1 + z[2]);
                flag = false;
            }
        }
_L6:
        if(enumeration2.hasMoreElements()) goto _L5; else goto _L1
_L1:
        if(enumeration.hasMoreElements()) goto _L8; else goto _L7
_L7:
        return flag;
    }
             private static String z(char[] chs) {
        for (int i = 0; i < chs.length; i++) {
            byte key = 0;
            switch (i % 5) {
                case 0:
                    key = 0x52;
                    break;
                case 1:
                    key = 33;
                    break;
                case 2:
                    key = 118;
                    break;
                case 3:
                    key = 36;
                    break;
                default:
                    key = 69;
                    break;
            }
            chs[i] ^= key;
        }
        return new String(chs).intern();
    }
    static 
    {
        String as[];
        as = new String[4];
        as[0] = "~\001";
        as[1] = "\021X\025H,1\001\022A57O\022A+1XVS,&I\037Jeh\001";
        as[2] = "p\001\024Q1rU\036A77\001\037We3OVA=;R\002M+5\001\020M >EVK#rU\036E1rO\027I rV\036M&:\001\001M)>\001\030K1rC\023\00477O\027I 6\017";
        as[3] = "p\001\037We!Q\023G,4H\023@e3RVEe<D\001\004#;D\032@e<@\033Ae;OVG)3R\005\004g";
        for (int i = 0; i < as.length; i++) {
            as[i] = z(as[i].toCharArray());
        }
        z = as;

    }
}